package alittlepond.world;

import static alittlepond.config.PropertyType.*;
import alittlepond.config.Property;
import alittlepond.config.PropertySpec;
import alittlepond.config.PropertyType;
import static alittlepond.config.PropertySpec.prop;

public enum WorldProperty implements Property {
	BLUR_RADIUS(prop("Blur Radius",3,0,10,1 )),
	DECAY_RATE(prop("Decay Rate",0.999,0.0,1.0,0.001 )),
	RUNNING(prop("Running", BOOLEAN, false)),

	
	;

	private PropertySpec spec;
	@Override public String getTitle() { return spec.getTitle(); }
	@Override public PropertyType getPropertyType() { return spec.getPropertyType(); }
	@Override public Object getDefaultValue() { return spec.getDefaultValue(); }
	@Override public Number getMinValue() {return spec.getMinValue();}
	@Override public Number getMaxValue() {return spec.getMaxValue();}
	@Override public Number getStepSize() {return spec.getStepSize();}
	private WorldProperty(PropertySpec spec) { this.spec = spec;}
	
}
